/**
 * 策略模式
 *
 *   应用场景：
 *      请求参数不同、执行的步骤相同，但每个步骤的具体实现不同的情况。
 *
 *   特点：
 *      系统负责提供不用的逻辑实现，而由调用者决定使用哪个。
 *
 *   实际使用：
 *      策略模式 常与代理模式、工厂模式配合使用，以便灵活切换策略
 *
 *   使用步骤：
 *      1、策略对象的管理：
 *          a、使用工厂获取、或者直接由调用者实例化
 *          b、若不需要多实例，则可以结合单例模式、spring容器等。
 *      2、将策略对象，传递给通用步骤的方法
 *
 *   题外话：若不希望策略被乱用，可以去掉访问修饰符，变成同包才能访问。 不过意义不大，只是对类的引入时减少干扰有帮助
 *
 */
package pers.karl.design.basic.strategy;